
//***************************************************************************
//                           ColUtilsOpenSceneGraph
//***************************************************************************
//  Copyright (C):
//***************************************************************************

#ifndef ColUtilsOpenSceneGraph_H
#define ColUtilsOpenSceneGraph_H
#if defined(__sgi) || defined(_WIN32)
#pragma once
#endif

//---------------------------------------------------------------------------
//  Includes
//---------------------------------------------------------------------------

#include <osg/Geometry>
#include <osg/Math>

#include <col_import_export.h>
#include <ColGeometry.h>

namespace col {

class COL_EXPORTIMPORT Cube
{
public:
	const static unsigned int np = 8;
	static Point3 points[8];

	const static unsigned int nqi = 6;
	const static unsigned int nti = 12;
	static unsigned int quat_indices[24];
	static unsigned int tri_indices[36];
};

class COL_EXPORTIMPORT Icosahedron
{
public:
	static double x;
	static double z;

	const static unsigned int np = 12;
	static Point3 points[12];

	const static unsigned int ni = 20;
	static unsigned int indices[60];
};

COL_EXPORTIMPORT	
void makeSphere( osg::Geometry * geo, unsigned int depth, double radius );
	
COL_EXPORTIMPORT	
void makeCube( osg::Geometry * geo, double radius, bool quat=false );

COL_EXPORTIMPORT	
void makePlane( osg::Geometry * geo, double xsize, double ysize, unsigned int vert, unsigned int hor );

}//namespace col

#endif // CoUtilsOpenSceneGraph_H
